package ds;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import basic.FactoryBasic;
import bean.Plano385;

/**
 * Clase encargada de generar los datos del formato 385 necesario para el
 * archivo 027 de la circular 003 de 2012
 *
 * @author usuario
 */
public class Factory385 extends FactoryBasic {

    public void calcularAlgo(){
        System.out.println("Nose...");
    }
    
    public Factory385() throws Exception {
        super(false);
    }


    
    /**
     *
     * @param parametros
     * @return
     */
    @Override
    public Object[] getData(Map parametros) throws Exception {
        System.out.println("Construyendo plano 385, viene directo de la consulta");
        Collection<Plano385> CCircular = new Vector<Plano385>();
        int i = 0;
        executeQuery(parametros);

        if (resul1 != null) {
            while (resul1.next()) {
                Plano385 plano = new Plano385();
                plano.setCONSECUTIVO(i++);
                plano.setTIPO_REGISTRO(resul1.getString("TIPO_REGISTRO"));
                plano.setFORMATO(resul1.getString("CODIGO_FORMATO"));
                plano.setCOLUMNA(resul1.getString("COLUMNA"));
                plano.setUNIDAD_CAPTURA(resul1.getString("UNIDAD_CAPTURA"));
                plano.setSUBCUENTA(resul1.getString("SUBCUENTA"));
                plano.setSIGNO(resul1.getString("SIGNO"));
                plano.setVALOR(resul1.getDouble("VALOR"));
                plano.setFECHA_CORTE(resul1.getTimestamp("FECHA_CORTE"));
                plano.setORDEN1(resul1.getDouble("ORDEN1"));
                plano.setORDEN2(resul1.getDouble("ORDEN2"));
                plano.setORDEN3(resul1.getDouble("ORDEN3"));
                plano.setORDEN4(resul1.getDouble("ORDEN4"));
                plano.setORDEN5(resul1.getDouble("ORDEN5"));
                CCircular.add(plano);
            }
        }
        closeAll();
        Collections.sort((List<Plano385>) CCircular);
        return CCircular.toArray();
    }
}
